#ifndef __SCANRESULTSWIDGET_H__
#define __SCANRESULTSWIDGET_H__

// Qt Includes
#include <QWidget>

// Local Declarations
class CScanResults;

// Local Includes
#include "scanresultrecords.h"

// Ui Includes
#include "ui_scanresultswidget.h"

// ******************************************************************
// CScanResultsWidget
// ******************************************************************
class CScanResultsWidget : public QWidget, private Ui::ScanResultsWidget
{
	Q_OBJECT

public:
/////////////////////////////////////////////////////////////////////
// Construction & Destruction
/////////////////////////////////////////////////////////////////////
	CScanResultsWidget(QWidget *pParent = NULL,
			Qt::WFlags windowFlags = 0);
/////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////
// Member Functions
/////////////////////////////////////////////////////////////////////
	void setScanResults(CScanResults* pScanResults);
/////////////////////////////////////////////////////////////////////

private slots:
/////////////////////////////////////////////////////////////////////
// Private Slots
/////////////////////////////////////////////////////////////////////
	void onContextComboCurrentIndexChanged(int nIndex);
	void onContextListWidgetCurrentRowChanged(int nRow);
/////////////////////////////////////////////////////////////////////

private:
/////////////////////////////////////////////////////////////////////
// Member Functions
/////////////////////////////////////////////////////////////////////
	void switchToSeveritiesContext();
	void switchToPluginsContext();
	void switchToFilesContext();

	void clearResults();
	void showResults(const QList<NScanResultRecords::ResultRecord> &lstResults);
/////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////
// Member Variables
/////////////////////////////////////////////////////////////////////
	CScanResults *m_pScanResults;
/////////////////////////////////////////////////////////////////////
};

#endif // #ifndef __SCANRESULTSWIDGET_H__
